% Created 2023-02-27 周一 09:18
% Intended LaTeX compiler: xelatex
\documentclass{article}
                 \usepackage{graphicx}
                 \usepackage{xcolor}
                 \usepackage{xeCJK}
                 \usepackage{fixltx2e}
                 \usepackage{longtable}
                 \usepackage{float}        
                 \usepackage{tikz}         
                 \usepackage{wrapfig}      
                 \usepackage{latexsym,amssymb,amsmath}
                 \usepackage{textcomp}
                 \usepackage{bicaption}
                 \usepackage{listings}     
                \usepackage{marvosym}     
                \usepackage{textcomp}     
                \usepackage{latexsym}     
                \usepackage{natbib}
                \usepackage{indentfirst}
		\usepackage{hyperref}
                \usepackage{geometry}
                \usepackage{minted}
                \usepackage{algpseudocode}
		\usepackage{algorithm}
                \usepackage{algorithmicx}
                \setCJKmainfont{仿宋}
                \setCJKsansfont{Microsoft YaHei}
                \setCJKmonofont{Microsoft YaHei}
                \setlength{\parindent}{2em}
                \usepackage{color}
                
            \lstset{
  columns=fixed,       
  breaklines=true, breakautoindent=true,breakindent=4em,
  commentstyle=\it\color[RGB]{0,96,96},                %
  stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},   %
  showstringspaces=false,                              %
  language=java,                                        %
}

\usemintedstyle{emacs}
    \setminted{%
        autogobble,% automatically remove the spaces to the left of the code
        linenos=true,% show line numbers
        fontsize=\small,% smaller font size
        % escapeinside=@@,% insert latex code between @ and @
        frame=lines,% frame styles: none or lines
        % frame=none,
        numbers=none,% show line numbers on: left, right, both or none
        mathescape=true,% insert math code
	breaklines=true,
    }%
    \setmintedinline{%
        fontsize=\smallsize,
    }%
\date{\today}
\title{课程环境安装}
\hypersetup{
 pdfauthor={},
 pdftitle={课程环境安装},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 27.1 (Org mode 9.3.8)}, 
 pdflang={English}}
\begin{document}

\maketitle
\tableofcontents

\section{本课程两种安装方式的说明}
\label{sec:org3f322c0}
\begin{enumerate}
\item Eclipse-adt 安装方式:
\begin{itemize}
\item 优点: 安装简单，调试简单，资源耗费少
\item 缺点: 自Android 4.4 版本之后，Google不再支持Eclipse-adt的方式，而
是改用Android Studio的方式。
\end{itemize}
\item Android Studio 安装方式:
\begin{itemize}
\item 优点: 基于intell IDEA ，智能补全功能，Google全面支持
\item 缺点: 配置复杂，硬件要求高，基本需要8G以上内存，并保证外网连接稳
定
\end{itemize}
\end{enumerate}
\section{Eclipse-Adt安装方式}
\label{sec:org2314a09}
\begin{enumerate}
\item 从 \href{http://adt.android-studio.org/}{adt下载地址} 下载adt程序，进行安装
\item 安装完成后，查看 android-sdk 的路径是否正确
\item 创建 avd: 选择一个较小的尺寸创建， avd 尺寸过大会造成系统内存被占用
过多导致系统运行缓慢
\item 创建一个项目，运行调试，界面出现“hello-wolrd”字样表示安装成功，
\end{enumerate}

\section{Android Studio 安装方式}
\label{sec:orgda76109}
\subsection{联网主机在线安装}
\label{sec:orgcd4109d}
\subsubsection{下载Android Studio 并安装}
\label{sec:org8988196}
\subsubsection{下载Android SDK}
\label{sec:orgeb726e9}
\subsubsection{创建一个简单工程，编译，中间时间比较长因为要下载相应的gradle并缓存maven仓库，等待编译成功}
\label{sec:org9a1356e}
\subsubsection{编译过程会顺带下载匹配的 gradle 工具，需要花费一些时间。}
\label{sec:orga5097f7}

\subsection{设置代理}
\label{sec:orgcdd5d0b}
设置代理后下载速度会快一些
\subsubsection{在gradle.properties文件添加一下内容}
\label{sec:orged259e1}
\begin{verbatim}
systemProp.https.proxyPort=80
systemProp.http.proxyHost=mirrors.neusoft.edu.cn
systemProp.https.proxyHost=mirrors.neusoft.edu.cn
systemProp.http.proxyPort=80
\end{verbatim}

\subsection{离线安装}
\label{sec:org6fe3306}
\subsubsection{离线压缩包准备}
\label{sec:org52e433c}
\begin{itemize}
\item Android Studio压缩包
\item Android SDK压缩包
\item .gradle 压缩包
\end{itemize}
\subsubsection{安装Android studio主程序}
\label{sec:orgab5a0f3}
将Android studio解压到某个盘符即可，建议 F 盘，避免在系统盘，机房
的系统盘有还原程序控制，重启后恢复原样。
\subsubsection{安装Android sdk}
\label{sec:orgfc30618}
解压android-sdk压缩包到某个盘，并在Android Studio中指向Android Sdk的位置,
\lstset{language=c++,label= ,caption= ,captionpos=b,numbers=none}
\begin{lstlisting}
//配置选项
file > Appearance & Behavior > System settings > Android SDK
\end{lstlisting}
\subsubsection{配置gradle缓存}
\label{sec:orgbfa6722}
将.gradle压缩包解压到某个盘符下，并在 Android Studio 中配置
gradle 的路径。

\subsubsection{创建简单项目验证是否能成功编译}
\label{sec:org3a684d4}

\subsection{配置缓存目录}
\label{sec:org51fba3f}
默认情况下，android studio 会在C:$\backslash$盘路径下生成几个专门的缓存路径，非常占用空间，
由于实验室机房都配备有还原系统，每次重启机器会将C:盘重置，因此请参照 \href{https://blog.csdn.net/qq\_38263083/article/details/83056538}{配置AndroidStudio的默认目录} 
修改默认路径到其他盘符，比如e:$\backslash$盘或d:$\backslash$盘。 Android Studio安装好以后会在系统盘用户目录下产生这么几个文件夹：
\begin{itemize}
\item .android: 文件夹是 Android SDK生成的AVD（Android Virtual Device
Manager）即模拟器存放路径
\item .AndroidStudio 这个文件夹是Android Studio的配置文件夹，主要存放一些
AndroidStudio设置和插件和项目的缓存信息
\item .gradle 这个文件夹是构建工具 Gradle的配置文件夹，也会存储一些项目的
构建缓存信息
\end{itemize}

\subsubsection{AndroidStudio 文件夹的修改}
\label{sec:org8badde4}
进入Android Studio的安装目录，进入bin文件夹，用文本编辑软件打开idea.properties，去掉以下两项的注释符号\#，修改对应的路径为新路径即可。
\lstset{language=shell,label= ,caption= ,captionpos=b,numbers=none}
\begin{lstlisting}
idea.config.path=f:/AndroidStudioSetup/.AndroidStudio3.0/config
idea.system.path=f:/AndroidStudioSetup/.AndroidStudio3.0/system
\end{lstlisting}
\subsubsection{grable 文件夹的修改}
\label{sec:org7c93bfc}
进入 AndroidStudio 配置选项修改
\begin{center}
\includegraphics[width=0.8\textwidth]{img/2020-09-29_22-29-45.jpg}
\end{center}

\subsubsection{.android 文件夹的修改}
\label{sec:orgd096f4d}
这个文件夹是由Android SDK配置模拟器生成的，也是最占空间的一个。
首先，需要添加一个系统的环境变量ANDROID\textsubscript{SDK}\textsubscript{HOME}，如下图：
\begin{center}
\includegraphics[width=0.5\textwidth]{img/2020-09-29_22-31-28.jpg}
\end{center}
添加好环境变量后到新的路径下修改下相应的.ini文件内的路径信息，然后重启系统生效。
\begin{center}
\includegraphics[width=0.5\textwidth]{img/2020-09-29_22-32-09.jpg}
\end{center}
由于机房系统被保护，因此在每次机房实验时要做更改才能生效。

\subsection{其他注意事项}
\label{sec:org77a9926}
\href{./gradle.org}{grable插件的相关说明}
\href{https://www.cnblogs.com/it-tsz/p/10295383.html}{maven仓库无法连接的解决参考}
\end{document}